package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import org.springframework.stereotype.Component;


/**
 * 业务流程日志对象 a_process_log
 * 
 * @author ruoyi
 * @date 2025-04-02
 */

public class AProcessLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日志唯一标识 */
    private Long logId;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 业务记录ID */
    @Excel(name = "业务记录ID")
    private String businessId;

    /** 操作类型（CREATE/UPDATE/APPROVE/EXECUTE等） */
    @Excel(name = "操作类型", readConverterExp = "C=REATE/UPDATE/APPROVE/EXECUTE等")
    private String operationType;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long operatorId;

    /** 操作详情（存储变量变更等详细信息） */
    @Excel(name = "操作详情", readConverterExp = "存=储变量变更等详细信息")
    private String operationDetails;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    public void setBusinessType(String businessType) 
    {
        this.businessType = businessType;
    }

    public String getBusinessType() 
    {
        return businessType;
    }

    public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }

    public void setOperationType(String operationType) 
    {
        this.operationType = operationType;
    }

    public String getOperationType() 
    {
        return operationType;
    }

    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }

    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }

    public void setOperationDetails(String operationDetails) 
    {
        this.operationDetails = operationDetails;
    }

    public String getOperationDetails() 
    {
        return operationDetails;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("businessType", getBusinessType())
            .append("businessId", getBusinessId())
            .append("operationType", getOperationType())
            .append("operationTime", getOperationTime())
            .append("operatorId", getOperatorId())
            .append("operationDetails", getOperationDetails())
            .toString();
    }
}
